var str = 'abcde'       //字符串类型
console.log(str.length); //字符串的属性

var num = 123
console.log(num.toString());    //加上这个函数，能使它变成字符串类型进行输出


var key1 = Symbol('1')
var key2 = Symbol('2')
console.log(key1 == key2);      //Symbol是唯一的，并不会相同

var obj = {             //Object可以在外部添加属性
    name : '袁总'
}
obj.gFriend='小范'
console.log('obj.gFriend');
obj.gFriend='小红'
console.log('obj.gFriend');


// var map =new Map()
// map={
//     [1,2] : '123'     //  可以直接使用map.[1,2]调用，然后返回值为字符串123
// }



var arr = [1,2,3,4]         //数组具备的方法很强大,可以在任何位置进行修改、插入、删除
console.log(arr[1]);
arr.push(5)             //往尾部头部添加值
console.log(arr[1]);
arr.unshift(0)      //往数组头部添加值
console.log(arr[1]);
arr.shift()         //移除头部元素，不需要给参数
console.log(arr[1]);
arr.pop()       //移除尾部元素，不需要给参数
console.log(arr[1]);


const arr1 = new Array(7)   //通过构造函数来创建数组,有七个栈队符
const arr2 = (new Array(7)).fill(1) //将七个值都赋为1

// for(let i = 0;i<arr2.length;i++){       //遍历数组
//     console.log(arr2[i],i);
// }

// arr2.forEach((item,index)=>{    //forEach遍历数组   //回调函数
//     console.log(item,index);
// })              

const arr3=arr2.map((item,index)=>{        //打印的值一样，但是map的特点：return一个新数组，在本情形下返回一个含有7个值为2的数组
    console.log(item,index);
    return item+1
})

//二位数组
const arr = [
    [1,2,3,4],
    [1,2,3,4],
    [1,2,3,4],
    [1,2,3,4]
]

//fill的引用机制!!!
const arr1 = (new Array(7).fill([]))//另一个声明二维数组的方法,一个数组里面放了七个空数组
arr1[0][0] = 1
console.log(arr1);          //结果全是1


const stack = []//栈



